package com.ruoyi.cm.service;

import com.ruoyi.cm.domain.CmReport;
import com.ruoyi.cm.domain.vo.CmReportVo;
import com.ruoyi.cm.domain.bo.CmReportBo;
import com.ruoyi.cm.domain.vo.ReportVo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;

import java.util.Collection;
import java.util.List;

/**
 * 报管理Service接口
 *
 * @author zxs
 * @date 2024-10-09
 */
public interface ICmReportService {

    /**
     * 查询报管理
     */
    CmReportVo queryById(Long id);

    /**
     * 查询报管理列表
     */
    TableDataInfo<CmReportVo> queryPageList(CmReportBo bo, PageQuery pageQuery);

    /**
     * 查询报管理列表
     */
    List<CmReportVo> queryList(CmReportBo bo);

    /**
     * 新增报管理
     */
    Boolean insertByBo(CmReportBo bo);

    /**
     * 修改报管理
     */
    Boolean updateByBo(CmReportBo bo);

    /**
     * 校验并批量删除报管理信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    CmReport getInfo(CmReportBo bo);

    void updateStatusByBo(CmReportBo bo);

    int check(CmReportBo reportBo);

    int checks(List<ReportVo> vos);
}
